package com.gzq.singleton.practice15;

import java.util.Arrays;

/**
 * 枚举，enum，所有枚举值必须申明在第一行，多个枚举值用逗号隔开。且枚举只有私有化方法。
 * 所有枚举类继承Eunm类，且源代码中枚举是一个final类型的类。因此枚举是不能被实现或继承的。
 * 
 * 由于反射Constructor类的newInstance方法，判断了枚举类型会抛出IllegalArgumentException异常。
 * 序列化时，Enum类会在反序列化的时候抛出异常
 *
 * @author Administrator
 *
 */
public enum EnumSingleton {
	PROTOTAL,SINGLETON;

	public void doing() {
		System.out.println("do something");
	}
	
	public static void main(String[] args) {
		int ordinal = EnumSingleton.SINGLETON.ordinal();
		System.out.println(ordinal);
		EnumSingleton[] values = EnumSingleton.values();
		System.out.println(Arrays.toString(values));
	}
}
